<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /* 
      splice()可以在数组任意位置进行添加元素、删除元素和替换元素

    */
    var arr = ["张飞", "刘备", "关羽", "曹操", "小乔", "袁绍", "孙尚香"];
          //     0       1       2      3       4       5       6

    console.log("操作之前的数组：", arr);
    
    /* 
       1、从数组任意位置删除元素 splice(start, n)
        参数：两个
         1、删除的起始位置
         2、删除的个数
    */      
    // arr.splice(2, 2);
    // console.log("删除的方法：", arr);

    /* 
      2、在数组任意位置添加 splice(start, n, item1, item2, ...)
        参数：三个或以上
          1、添加的起始位置
          2、0
          3、添加的元素

          注意：
            添加的内容是指定位置的前面
    */
    // arr.splice(4, 0, "大乔", "吕布");
    // console.log("添加新元素以后的数组：", arr);

    /* 
      3、将数组任意位置的元素进行替换 splice(start, n, item1, item2, ...)
        参数：三个或以上
          1、替换的起始位置
          2、删除几个
          3、替换的元素
    */
    arr.splice(3, 1, "赵云");
    console.log("替换以后的数组：", arr);



    /* 
      push()
      pop()
      shift()
      unshift()
      splice()
      reverse()
      sort()

      方法，功能描述，参数，返回值，必须要会

      数组的七个变异方法

      以上七个方法，会导致原数组发生改变
      ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    */
  </script>
</body>

</html>